﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using Infinity.Expressions.Core;

namespace Infinity.Expressions.Commands
{
	/// <summary>
	/// AbstractProgram típusú utasítások végrehajtását szolgáló utasítás
	/// </summary>
	public class ProcedureCommand : Command<AbstractProgram>
	{
		public override void Run()
		{
			if (Body != null)
			{
				Body.Run();
			}
		}

		protected override Expression BodyExpression
		{
			get
			{
				if (Body != null)
					return Body.ToExpression();
				else return null;
			}
		}
	}
}
